package com.zttek.photosShareProject.modules.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 举报表
 * </p>
 *
 * @author Y
 * @since 2017-08-31
 */
public class Abuse extends Model<Abuse> {

    private static final long serialVersionUID = 1L;

	@TableField("create_time")
	private Date createTime;
	@TableField("update_time")
	private Date updateTime;
	@TableField("delete_time")
	private Date deleteTime;
    /**
     * default 1, 0 for invalid
     */
	private Integer valid;
	@TableId(value="id", type= IdType.AUTO)
	private Long id;
	@TableField("target_id")
	private Long targetId;
    /**
     * id of user abusing
     */
	@TableField("infomer_id")
	private Long infomerId;
    /**
     * default 0 for share, 1 for comment
     */
	private Integer type;
	private String reason;
	@TableField("finish_time")
	private Date finishTime;
    /**
     * default 0, 1 for passed, 2 for refused
     */
	private Integer result;


	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Date getDeleteTime() {
		return deleteTime;
	}

	public void setDeleteTime(Date deleteTime) {
		this.deleteTime = deleteTime;
	}

	public Integer getValid() {
		return valid;
	}

	public void setValid(Integer valid) {
		this.valid = valid;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getTargetId() {
		return targetId;
	}

	public void setTargetId(Long targetId) {
		this.targetId = targetId;
	}

	public Long getInfomerId() {
		return infomerId;
	}

	public void setInfomerId(Long infomerId) {
		this.infomerId = infomerId;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	public Date getFinishTime() {
		return finishTime;
	}

	public void setFinishTime(Date finishTime) {
		this.finishTime = finishTime;
	}

	public Integer getResult() {
		return result;
	}

	public void setResult(Integer result) {
		this.result = result;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "Abuse{" +
			"createTime=" + createTime +
			", updateTime=" + updateTime +
			", deleteTime=" + deleteTime +
			", valid=" + valid +
			", id=" + id +
			", targetId=" + targetId +
			", infomerId=" + infomerId +
			", type=" + type +
			", reason=" + reason +
			", finishTime=" + finishTime +
			", result=" + result +
			"}";
	}
}
